package com.cy.dda.service.rule;

import com.cy.dda.model.PageBean;
import com.cy.dda.model.Result;
import com.cy.dda.model.domain.rule.Manager;
import com.cy.dda.model.enums.CommonStatus;
import com.cy.dda.model.query.rule.ManagerListAdminQuery;
import com.cy.dda.model.vo.rule.ManagerListAdminVO;

/**
 * 后台管理员 service
 *
 * @author: tanyilin
 * @create: 2018年10月31日 下午6:03:52
 */
public interface ManagerService {

	/**
	 * 管理员登录
	 * 
	 * @param mobile
	 * @param password
	 * @return
	 */
	Result login(String mobile, String password);
	
	/**
     * 添加管理员
     * 
     * @param manager
     */
    void addManger(Manager manager);

    /**
     * 更新管理员
     * 
     * @param manager
     */
    void updateManager(Manager manager);
    
    /**
     * 更改账号状态
     * 
     * @param managerId
     * @param status
     */
	void updateStatus(Long managerId, CommonStatus status);
	
	/**
	 * 修改密码
	 * 
	 * @param managerId
	 * @param oldPassword
	 * @param newPassword
	 */
	void updatePassword(Long managerId, String oldPassword, String newPassword);
    
    /**
     * 重置管理员密码
     * 
     * @param managerId
     */
	void resetManagerPwd(Long managerId);
	
	/**
	 * 后台-管理员账户列表
	 * 
	 * @param query
	 * @return
	 */
	PageBean<ManagerListAdminVO> selectManagerListAdmin(ManagerListAdminQuery query);
}
